/**
 * 资源加载检测脚本
 * 用于检测关键资源是否正确加载
 */
;(function () {
  'use strict'

  // 关键资源列表
  const criticalResources = ['/src/main.ts']

  // 资源加载状态
  const resourceStatus = {}

  // 监听资源加载错误
  window.addEventListener(
    'error',
    function (e) {
      if (e.target && (e.target.tagName === 'SCRIPT' || e.target.tagName === 'LINK')) {
        const src = e.target.src || e.target.href
        resourceStatus[src] = 'failed'
        console.error('资源加载失败:', src)
      }
    },
    true
  )

  // 检查关键资源是否加载完成
  function checkCriticalResources() {
    let allLoaded = true
    let failedResources = []

    criticalResources.forEach(function (resource) {
      if (resourceStatus[resource] === 'failed') {
        allLoaded = false
        failedResources.push(resource)
      }
    })

    if (!allLoaded && failedResources.length > 0) {
      console.warn('以下关键资源加载失败:', failedResources)
      // 可以在这里添加错误上报逻辑
    }
  }

  // 页面加载完成后检查资源状态
  window.addEventListener('load', function () {
    setTimeout(checkCriticalResources, 2000)
  })

  // 导出检查函数供外部调用
  window.resourceCheck = {
    checkResources: checkCriticalResources,
    getResourceStatus: function () {
      return resourceStatus
    },
  }
})()
